/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.sapra.abc;

import java.sql.SQLException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.sapra.core.DBManager;
import org.sapra.dao.Empresa;
import org.sapra.dao.Usuario;

/**
 *
 * @author cobain
 */
public class dUsuario {

        //seleccionar usuarios.
        public static List<Usuario> getUsuario(int opc,String newUser) {
        List<Usuario> resp = null;

        String sql = "SELECT * FROM usuario";
        if(opc==0)
            sql = " select e.razon_empresa AS empresa,u.* from usuario u "
                    + " inner join empresa e "
                    + "  on u.fk_empresaId=e.empresaId "
                    + " order by e.razon_empresa,u.login asc ";
        else
            sql += " where login='"+newUser+"'";

        try {
            // Busca las Empresas del Usuario
            resp = DBManager.getQuery(Usuario.class,sql);
        } catch (Exception ex) {
            Logger.getLogger(dUsuario.class.getName()).log(Level.SEVERE, null, ex);
            return resp;
        }

        return resp;
      }

        public static int NuevoUsuario(Usuario us){
            int resp=-1;
            String sql;


        sql="INSERT INTO usuario (password, nombre, login, email, fk_empresaId, tipoUsuario, enviarNotifiaciones)";
        sql+="VALUES(";
        sql += "'" +us.getPassword() + "'";
        sql += ",'" + us.getNombre()+ "'";
        sql += ",'" + us.getLogin() + "'";
        sql += ",'" + us.getEmail() + "'";
        sql += "," + us.getFk_empresaId();
        sql += ",'" + us.getTipoUsuario() + "'";
        sql += "," + false;
        sql += ")";

                try {
            resp = DBManager.insert(sql);
        } catch (SQLException ex) {
            Logger.getLogger(dUsuario.class.getName()).log(Level.SEVERE, null, ex);
            resp = -1;
        }

        return resp;

        }

        public static int editarUsuario(Usuario us){
        int resp = -1;
        String sql;

        sql  = "UPDATE usuario SET ";
        sql+="login="+"'"+us.getLogin()+"'";
        sql += ",password ="+"'"+ us.getPassword()+"'";
        sql += ",nombre ="+"'" + us.getNombre() + "'";
        sql+=",fk_empresaId="+us.getFk_empresaId();
        sql+=",email="+"'"+us.getEmail()+"'";
        sql+=",tipoUsuario="+"'"+us.getTipoUsuario()+"'";
        sql+=" WHERE usuarioId=";
        sql+=us.getUsuarioId();

        try {
            resp = DBManager.Update(sql);
        } catch (SQLException ex) {
            Logger.getLogger(dUsuario.class.getName()).log(Level.SEVERE, null, ex);
            resp = -1;
        }
        return resp;


        }

        public static int bajaUsuario(Usuario us){
            int resp=-1;
            String sql="DELETE FROM usuario WHERE usuarioId="+us.getUsuarioId();
           

             try {
            resp = DBManager.Update(sql);
           } catch (Exception ex) {
            Logger.getLogger(dUsuario.class.getName()).log(Level.SEVERE, null, ex);
            return -1;
        }
        return resp;

        }





}
